home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 1
/
Cream of the Crop 1.iso
/
DESQVIEW
/
QW12INST.ARJ
/
XB.TEC
< prev
next >
Wrap
Text File
|
1991-12-17
|
5KB
|
102 lines
ID: XB
Quarterdeck Technical Note #218
By: Russell Bell
This document explains how to use the "EXCLUDEBANK" ("XB") switch
of DESQview and to find out how it may help you run a program that will
not run inside DESQview when it will run outside of DESQview.
WHAT IS THE STORY?
DESQview completely takes over 16 software interrupts in order to
divert the 16 hardware interrupts (which normally are located at
software interupts 08-0F and 70-77.) If a program running inside a
DESQview window requires one or more of the interrupts DESQview uses for
this purpose, DESQview can be told to leave that interrupt or group of
interrupts alone with the EXCLUDEBANK (XB) switch.
WHAT DOES THE EXCLUDEBANK (XB) SWITCH DO?
The XB switch tells DESQview not to use a group of software
interrupts. A bank of interrupts is eight consecutive interrupts.
DESQview will then find another bank of interrupts to use.
WHY SHOULD I USE THE XB SWITCH?
If you are trying to run a program inside DESQview that wants to
use a software interrupt that DESQview is using then this switch can
tell DESQview not to use a bank of interrupts. You do not need to use
this switch to keep DESQview from using an interrupt being used by a
program loaded before DESQview: DESQview properly recognizes interrupts
being used before it is loaded.
HOW DO I KNOW IF MY PROGRAM IS USING A PARTICULAR INTERRUPT?
Load the program with Manifest resident, then pop Manifest up over
the program and look at the FirstMeg/Interrupts screen. In the second
column is a list of the programs using interrupts. In the following
column are listed the interrupts being taken by this program.
HOW DO I KNOW IF DESQVIEW IS TAKING ONE OF THESE INTERRUPTS?
Start DESQview with the switches /FB and /SB:
DV /FB /SB
This will cause DESQview to report the beginning address of each bank of
interrupts used with the message:
First bank diverted to XXH
Second bank diverted to YYH
where XX is the hexadecimal number of the first interrrupt of the first
bank and YY is the hexadecimal number of the first interrupt of the
second bank.
WHAT INTERRUPTS ARE IN QUESTION?
Only the interrupts from 50-5F, 68-6F, and above 77 are in question
here. DESQview must grab many of the interrupts below 50 in order to
make the services to which they relate (keyboard, screen, mouse, timer,
i/o ports, network, etc.) accessible to all windows. Just because your
program is using an interrupt below 50 (and 60-67 or 70-77) that
DESQview also uses does not mean that the program cannot see the
interrupt in DESQview; DESQview is passing it along to the application.
Many applications may use the interrupts below 50 (and 60-67 or 70-77)
and DESQview must take control of these interrupts to allow the programs
in different windows to share them properly. The interrupts DESQview
uses to divert hardware interrupts are not available to every window but
are used solely by DESQview.
HOW DOES DESQVIEW CHOOSE THE INTERRUPTS IT USES FOR THIS PURPOSE?
DESQview chooses two separate banks of eight consecutive interrupts
that are not already being used when DESQview is started. It chooses a
bank beginning only on multiples of 8 (Since this is hexadecimal then
the first interrupt in a bank ends in a 0 or an 8.) It begins its
search for a place for the first bank at 50 and for the second bank at
68.
HOW DO I USE THE EXCLUDEBANK SWITCH?
If you have discovered that a program uses one of the interrupts in
question and that DESQview is also grabbing that interrupt for the
purpose of diverting hardware interrupts DESQview can be instructed not
to use the interrupt in question by invoking DESQview with the "/XB:??"
switch where "??" is the number of the interrupt in question. If the
interrupt in question is 57 then the appropriate switch is /XB:57.
WHAT IF I NEED TO KEEP DESQVIEW FROM USING MORE THAN ONE INTERRUPT?
The /XB switch may be used multiple times. If both interrupts in
question are in the same group of eight then only one /XB needs to be
used.
For example:
DV /XB:57 /XB:79
WITH WHAT VERSIONS OF DESQVIEW DOES THIS WORK?
You must have DESQview 2.30 or up for the /XB switch to work. For
versions of DESQview before 2.30 DESQview must be told which banks of
interrupts to use with the "/FIRSTBANK" ("/FB") and "/SECONDBANK"
("/SB") switch. To do this you must find two banks of unused interrupts
and put the first bank in one and the second in the other. Say you wish
to have DESQview not use 7A and the interrupts from 88 to 98 are unused
then you may use the switches "/FB:88 /SB:90" to make sure that DESQview
does not use 7A for either bank of interrupts.
For example:
DV /FB:88 /SB:90